home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol136 / checkcil.bas < prev    next >
Encoding:
BASIC Source File  |  1986-12-15  |  4.5 KB  |  104 lines

  1. 4000 COLOR 7,0: REM ***************************************************************************************************
  2. 4010 REM                    "CHECKCIL" SUBROUTINE TO PERFORM BANK STATEMENT RECONCILIATION
  3. 4020 REM  **************************************************************************************************************
  4. 4030 GOSUB 260   'OPEN FILES #1,#2,#3
  5. 4040 CLS
  6. 4050 PRINT "  Print Bank Statement Reconciliation:"
  7. 4060 PRINT "  You must now enter the ENDING BALANCE"
  8. 4070 BEEP: PRINT "  shown on Bank Statement ";
  9. 4080 Y = CSRLIN: X = POS(0)
  10. 4090 FIELDMAX% = 8: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 320
  11. 4100 AMT = VAL(DATU$): LOCATE Y,X+1
  12. 4110 COLOR 0,7: PRINT USING "#####.##";AMT: COLOR 7,0
  13. 4120 IF AMT = 0 THEN CLOSE: GOTO 250
  14. 4130 LPRINT TAB(21) "BANK STATEMENT RECONCILIATION"
  15. 4140 LPRINT TAB(26) "AS OF ";DATE$
  16. 4150 LPRINT: LPRINT
  17. 4160 LPRINT "BANK STATEMENT ENDING BALANCE IS:"; TAB(48);
  18. 4170 LPRINT USING "$$#####,.##";AMT
  19. 4180 LPRINT: LPRINT TAB(10) "OUTSTANDING CHECKS ARE:"
  20. 4190 FOR I = 2 TO M1%
  21. 4200     GET #1,I: GET #2,I
  22. 4210     IF ASC(F2$)=255 THEN GOTO 4390
  23. 4220     GOSUB 270  'READ CHECK FIELDS TO ARRAY
  24. 4230     FOR K = 1 TO 8
  25. 4240         IF CHEK1%(K) = 0 THEN GOTO 4300
  26. 4250         IF CHEK2$(K)<>" " THEN GOTO 4300
  27. 4260         LPRINT CHEK3$(K);CHEK1%(K);A1$; TAB(50);
  28. 4270         LPRINT USING "#####,.##";CHEK4(K);
  29. 4280         LPRINT "CR"
  30. 4290         AMT = AMT - CHEK4(K)
  31. 4300     NEXT K
  32. 4310     CHANE% = CVI(L$)
  33. 4320     IF CHANE% = 0 THEN GOTO 4390
  34. 4330     IF (CHANE%>(M1%)) AND (CHANE%<(M2%+1))  THEN GET #2,CHANE%: GOTO 4220
  35. 4340         PRINT "  Chaining record error on Payee ";P2$
  36. 4350         PRINT USING "  Chaining field is ####";CHANE%
  37. 4360         PRINT "  Valid chaining records are";M1%+1;"-";M2%
  38. 4370         COLOR 31,0: PRINT "  Correct File before rerunning this job": COLOR 7,0
  39. 4380         GOTO 330  'ERROR ON FILE, DO NOT CONTINUE
  40. 4390 NEXT I
  41. 4400 REM  **************************************************************************************************************
  42. 4410 REM                  ARE ANY UNCREDITED DEPOSITS OR WITHDRAWALS ON BANK STATEMENT RECORD?
  43. 4420 REM  **************************************************************************************************************
  44. 4430 GET #1,1: GET #2,1  'BANK STATEMENT RECORDS
  45. 4440 GOSUB 270  'MOVE TO CHECK ARRAYS
  46. 4450 LPRINT: LPRINT
  47. 4460 FOR I = 1 TO 8
  48. 4470     IF CHEK1%(I) <> -1 THEN GOTO 4520
  49. 4480     IF CHEK2$(I) <> " " THEN GOTO 4570
  50. 4490     LPRINT TAB(10) "UNCREDITED DEPOSIT ";CHEK3$(I);TAB(50);
  51. 4500     LPRINT USING "#####,.##";CHEK4(I)
  52. 4510     AMT = AMT + CHEK4(I)
  53. 4520     IF CHEK1%(I) <> -3 THEN GOTO 4570
  54. 4530     IF CHEK2$(I) <> " " THEN GOTO 4570
  55. 4540     LPRINT TAB(10) "UNCREDITED WITHDRAWAL ";CHEK3$(I); TAB(50);
  56. 4550     LPRINT USING "#####,.##";CHEK4(I);
  57. 4560     LPRINT "CR": AMT = AMT - CHEK4(I)
  58. 4570 NEXT I
  59. 4580 CHANE% = CVI(L$)
  60. 4590 IF CHANE% = 0 THEN GOTO 4620
  61. 4600 IF (CHANE%>M1%) AND (CHANE%<(M2%+1))  THEN GET #2,CHANE%: GOTO 4440
  62. 4610     GOTO 4340  'INVALID CHAIN RECORD
  63. 4620 LPRINT: LPRINT
  64. 4630 LPRINT "YOUR CHECK BOOK BALANCE SHOULD BE:";TAB(48);
  65. 4640 LPRINT USING "$$#####,.##";AMT
  66. 4650 LPRINT: LPRINT
  67. 4660 AMTC = CVS(S4$)  'COMPUTER CHECK BOOK BALANCE
  68. 4670 IF ABS(AMT - AMTC)<.01 THEN LPRINT "THE BANK STATEMENT AGREES WITH THE COMPUTER CHECK BOOK BALANCE": GOTO 4790
  69. 4680 '
  70. 4690 IF AMT < AMTC THEN GOTO 4750
  71. 4700 AMT = AMT - AMTC
  72. 4710 LPRINT "BANK STATEMENT IS OVER BY"; TAB(48);
  73. 4720 LPRINT USING "$$#####,.##";AMT
  74. 4730 GOTO 4790
  75. 4740 '
  76. 4750 AMTC = AMTC - AMT
  77. 4760 LPRINT "BANK STATEMENT IS SHORT BY"; TAB(48);
  78. 4770 LPRINT USING "$$#####,.##";AMTC
  79. 4780 '
  80. 4790 LPRINT CHR$(12)
  81. 4800 AMT = CVS(S1$)
  82. 4810 LPRINT: LPRINT "Starting Bank Balance ";
  83. 4820 LPRINT USING "######,.##-";AMT
  84. 4830 AMT = CVS(S2$)
  85. 4840 LPRINT "YTD Deposits/Interest ";
  86. 4850 LPRINT USING "######,.##-";AMT
  87. 4860 LPRINT "   and Withdrawals"
  88. 4870 AMT = CVS(S3$)
  89. 4880 LPRINT "YTD Checks Issued     ";
  90. 4890 LPRINT USING "######,.##-";AMT
  91. 4900 AMT = CVS(S4$)
  92. 4910 LPRINT "Current Bank Balance  ";
  93. 4920 LPRINT USING "######,.##-";AMT
  94. 4930 KINT% = CVI(S5$)
  95. 4940 LPRINT "Next File #2 Chain Record ";
  96. 4950 LPRINT USING "####";KINT%
  97. 4960 KINT% = CVI(S6$)
  98. 4970 LPRINT "YTD No. of Checks Issued  ";
  99. 4980 LPRINT USING "####";KINT%
  100. 4990 CLOSE   'CLOSE ALL FILES
  101. 5000 GOTO 250   'RETURN TO JOB CHOICES MENU
  102. 5010 REM  --------------------------------------------------------------------------------------------------------------
  103. 9000 GOTO 9000  'CHAIN MERGE AREA LAST STATEMENT
  104. ----------